package jp.example.sinya.fragment.manage;

import android.support.v4.app.Fragment;

/**
 * @author Sinya
 * @editor
 * @date 23/4/2018 7:16 PM
 * @describe
 */
public interface OnChangeFragmentListener {
    /**
     * pop 弹栈的方式返回上一个fragment
     */
    void backLastFragment();

    /**
     * 回到Main，并清除栈内所有fragment
     */
    void backMainFragment();

    /**
     * 使用push 打开一个新的fragment 并压入栈内
     *
     * @param fragment
     * @param isPop    是否要弹出之前已经存在的对象
     */
    void openNextFragment(Fragment fragment, boolean isPop);

    /**
     * 替换当前的fragment
     *
     * @param fragment
     */
    void replaceFragment(Fragment fragment);

    int getFragmentCount();

    void decreaseFragmentCount();

    void increaseFragmentCount();

    void resetFragmentCount();
}